Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

부록 C. 더 공부할 자료

이 책은 시작점이다. 여기서 익힌 기초 위에 무엇을 더 쌓을지가 앞으로 더 중요하다.

이 부록은 다음 단계로 향하는 지도다. 공식 문서, 도구, 학습 경로, 커뮤니티를 정리했다.


C.1 공식 자료

가장 신뢰할 수 있는 자료는 공식 자료다. 최신 정보가 가장 빠르고, 정확하다.

핵심 사이트

자료주소무엇이 있나
Go 공식 홈https://go.dev/다운로드, 블로그, 문서 진입점
A Tour of Gohttps://go.dev/tour/welcome/1브라우저에서 바로 실행되는 입문 튜토리얼
Effective Gohttps://go.dev/doc/effective_go“Go 답게” 쓰는 법을 정리한 공식 문서
pkg.go.devhttps://pkg.go.dev/표준 라이브러리 / 외부 패키지 문서 포털
Go Playgroundhttps://go.dev/play/브라우저에서 코드 실행 / 공유

책에서 다 못 다룬 주제 위주로 보기 좋은 글

  • https://go.dev/blog/ — 공식 블로그. 새 기능이나 깊은 주제 글이 종종 올라온다
  • https://go.dev/doc/faq — 자주 묻는 질문
  • https://go.dev/ref/spec — 언어 명세 (한 번쯤 훑어 두면 미묘한 동작이 이해된다)

Tour of Go 는 가볍게 한 번 더 돌면서 “내가 이 책에서 본 게 여기서는 이렇게 쓰여 있구나” 를 다시 익히기에도 좋다.


C.2 한국어 자료

한국어로 된 Go 자료도 점점 늘고 있다. 사람마다 취향이 달라 특정 책 / 블로그를 콕 찍기보다 탐색 방향을 적는다.

어떻게 찾는가

  • “Go 한국어” 또는 “Golang 한국어” 검색
  • “Go 언어 + 주제 키워드” 로 좁히기 (예: “Go 언어 동시성 패턴”)
  • 발행 시점을 꼭 본다 — 5년 이상 된 글은 문법은 같아도 생태계 정보가 낡았을 수 있다

블로그 / 미디엄 / velog / tistory

기술 블로그 글을 찾아 읽는 습관은 큰 도움이 된다. 같은 주제를 여러 사람이 어떻게 설명하는지 비교해 보면 이해가 깊어진다.

  • 회사 기술 블로그 (당근, 카카오, 우아한형제들 등)
  • 개인 블로그 (Medium, velog, tistory)
  • 한국어 Go 미트업 / 발표 자료

한국어 자료를 볼 때 한 가지 주의점

오래된 자료에는 다음 같은 옛 흔적이 남아 있을 수 있다.

  • GOPATH 위주 설명 → 지금은 모듈 방식이 표준 (20장)
  • dep, glide 같은 옛 패키지 관리자 → 지금은 모듈
  • 1.18 이전이라 제네릭이 없는 코드 (17장)

모를 땐 공식 문서로 한 번 더 확인하는 습관이 좋다.


C.3 추천 도구

golangci-lint

여러 린터를 한 번에 묶어 돌려 주는 도구. 실무에서는 거의 표준이다.

  • 홈: https://golangci-lint.run/
  • 설치 후 프로젝트 루트에서:
golangci-lint run

.golangci.yml 로 규칙을 켜고 끌 수 있다. GitHub Actions / GitLab CI 와 잘 어울린다.

air — 라이브 리로드

코드 변경을 감지해 자동으로 재빌드 / 재실행해 준다. 웹 서버 개발 시 손이 편해진다.

  • 홈: https://github.com/cosmtrek/air
go install github.com/cosmtrek/air@latest
air

delve — 디버거

브레이크포인트, 변수 검사, 스텝 실행을 지원하는 Go 의 공식 디버거다. VS Code Go 확장이 내부적으로 쓴다.

  • 홈: https://github.com/go-delve/delve
go install github.com/go-delve/delve/cmd/dlv@latest
dlv debug

VS Code 의 디버그 패널 (F5) 만 눌러도 그대로 붙는다.

그 외 알아 두면 좋은 도구

도구용도
goimports임포트 정렬 + 자동 추가/제거
gotests함수에서 테스트 스켈레톤 자동 생성
mockgen인터페이스의 목 객체 생성
staticcheck강력한 정적 분석기 (golangci-lint 가 포함)
gops실행 중인 Go 프로세스 진단

처음부터 다 깔 필요는 없다. 자주 부딪히는 문제에 맞는 도구를 하나씩 들이면 된다.


C.4 추천 학습 경로

여기까지 왔다면 다음 단계는 사람마다 다르지만, 일반적으로 추천할 수 있는 경로는 이렇다.

1단계 — 기초 다지기 (지금 위치)

  • 이 책을 한 번 더 훑으며 어색한 챕터를 두 번 본다
  • A Tour of Go 를 처음부터 끝까지 한 번 더 돈다
  • Effective Go 를 천천히 읽는다

2단계 — 작은 프로젝트로 손에 익히기

자신만의 작은 도구를 하나 만든다.

  • 명령줄 도구 (예: 일정 알림, 파일 정리)
  • 간단한 웹 API
  • 봇 (Slack, Discord, Telegram 등)

만들고 싶은 게 있을 때 진짜 학습이 일어난다. 33장에서 만든 두 프로젝트를 확장하는 것도 훌륭한 출발점이다.

3단계 — 표준 라이브러리 깊이 파기

문서를 차분히 읽어 두면 평생 도움이 된다.

패키지무엇을 배우나
io, bufio스트림 처리 사고방식
context취소, 타임아웃, 요청 추적
net/http서버 / 클라이언트 모두
encoding/json데이터 변환
database/sql표준 DB 접근 인터페이스
sync, sync/atomic동시성 도구
log/slog구조화 로깅
testing표준 테스트 도구의 잘 안 알려진 기능

4단계 — 인기 오픈소스 코드 읽기

좋은 코드를 읽는 것이 좋은 코드를 쓰는 가장 빠른 길이다.

프로젝트무엇을 배울 수 있나
Kubernetes거대한 모듈 분리, 인터페이스 설계, 동시성
Docker / Moby시스템 프로그래밍, 패키지 구성
Prometheus라이브러리 설계, 메트릭, HTTP 라우팅
Caddy우아한 웹 서버 설계
etcd분산 시스템, Raft 알고리즘
HugoCLI 도구, 파일 처리

처음부터 전체를 읽으려 하지 말고 관심 있는 한 파일, 한 함수부터 본다.

5단계 — 깊이 있는 주제

언어를 넘어서는 영역.

  • 분산 시스템 / 마이크로서비스
  • 컨테이너 / 쿠버네티스
  • 관측성 (메트릭, 로그, 트레이스)
  • 성능 튜닝과 프로파일링

C.5 커뮤니티

혼자만 공부하면 막히는 지점에서 오래 머무른다. 사람을 만나라.

한국어 커뮤니티

  • GoLang Korea — 페이스북 그룹, 슬랙, 미트업
  • 한국 Go 사용자 모임의 발표 영상 (YouTube 검색)
  • 회사별 Go 사용 후기 / 도입기 글

영문 커뮤니티

  • r/golang — Reddit (https://reddit.com/r/golang/)
  • Gophers Slack — https://invite.slack.golangbridge.org/
  • GitHub Discussions — 인기 오픈소스의 토론 페이지
  • Stack Overflow — 질문 검색 시 답변 품질이 높다
  • GopherCon 발표 (YouTube)
    • 매년 진행되는 콘퍼런스. 깊은 주제 발표가 많다

Slack / Discord 에 일단 가입만 해 두고 다른 사람들의 질문과 답을 곁눈질로 보는 것만으로도 배운다.


C.6 마지막으로

여기까지 따라온 자신을 칭찬해 주자. 프로그래밍은 책을 덮는다고 끝나지 않는다. “실제로 무언가를 만들기 시작할 때” 가 진짜 시작이다.

작은 프로그램을 하나 짜고, 그게 동작하는 걸 보고, 다음 번에 조금 더 큰 걸 만든다. 이 반복이 쌓이면 어느 순간 “내가 Go 로 일을 한다” 가 자연스러워진다.

기억해 둘 다섯 가지.

  1. 가장 좋은 자료는 공식 문서다
  2. 막히면 누군가에게 물어봐도 된다
  3. 다른 사람의 코드를 자주 읽자
  4. 작은 것부터 끝까지 완성해 보자
  5. 즐기는 게 가장 오래 가는 학습이다

좋은 코드와 즐거운 개발 인생을 빈다. 이제 키보드 앞으로 돌아갈 시간이다.